{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.9" }, "colab": { "name": "01_RK Mid point Example.ipynb", "provenance": [], "include_colab_link": true } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "view-in-github", "colab_type": "text" }, "source": [ "\"Open" ] }, { "cell_type": "markdown", "metadata": { "id": "2NxRpBFOjCMD" }, "source": [ "# Problem Sheet 3 Question 1\n", "\n", "The general form of the population growth differential equation\n", "\\begin{equation} y^{'}=t-y, \\ \\ (0 \\leq t \\leq 4) \\end{equation}\n", "with the initial condition\n", "\\begin{equation}y(0)=1,\\end{equation}\n", "Has the exact soulation. \\begin{equation} y= 2e^{-t}+t-1\\end{equation}\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "dYY0UlPajCMG" }, "source": [ "#### Setting up Libraries" ] }, { "cell_type": "code", "metadata": { "id": "XPTGnCYojCMG" }, "source": [ "import numpy as np\n", "import math \n", "\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt # side-stepping mpl backend\n", "import matplotlib.gridspec as gridspec # subplots\n", "import warnings\n", "\n", "warnings.filterwarnings(\"ignore\")\n" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "XnWOiUj8jCMH" }, "source": [ "## Defining the function\n", "\\begin{equation}f(t,y)=t-y$$ " ] }, { "cell_type": "code", "metadata": { "id": "1m_TzjOkjCMI" }, "source": [ "def myfun_ty(t,y):\n", " return t-y" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "3fZZFThCjCMI" }, "source": [ "## Initial Setup\n", "Defining the step size $h$ from the interval range $a\\leq t \\leq b$ and number of steps $N$\n", "\\begin{equation}h=\\frac{b-a}{h}.\\end{equation}\n", "This gives the discrete time steps,\n", "\\begin{equation}t_{i}=t_0+ih,\\end{equation}\n", "where $t_0=a$." ] }, { "cell_type": "code", "metadata": { "id": "pkNsSMSejCMJ" }, "source": [ "# Start and end of interval\n", "b=4\n", "a=0\n", "# Step size\n", "N=8\n", "h=(b-a)/(N)\n", "t=np.arange(a,b+h,h)" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "ohaaaibrjCMK" }, "source": [ "## Setting up the initial conditions of the equation\n", "\\begin{equation}w_0=IC\\end{equation}\n" ] }, { "cell_type": "code", "metadata": { "id": "L_3I5aV1jCMK" }, "source": [ "# Initial Condition\n", "IC=1\n", "w=np.zeros(N+1)\n", "y=(IC+1)*np.exp(-t)+t-1#np.zeros(N+1)\n", "w[0]=IC" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "dHp7T0yljCML" }, "source": [ "## 2nd Order Runge Kutta (Mid-method)\n", "\\begin{equation}k_1=f(t,y),\\end{equation}\n", "\\begin{equation}k_2=f(t+\\frac{h}{2},y+\\frac{h}{2}k_2),\\end{equation}\n", "\\begin{equation}w_{i+1}=w_{i}+h(k_2).\\end{equation}" ] }, { "cell_type": "code", "metadata": { "id": "s-RKZaYhjCML" }, "source": [ "for k in range (0,N):\n", " k1=myfun_ty(t[k],w[k])\n", " k2=myfun_ty(t[k]+h/2,w[k]+h/2*k1)\n", " w[k+1]=w[k]+h*(k2)" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "o9MEukAejCML" }, "source": [ "## Plotting Results" ] }, { "cell_type": "code", "metadata": { "id": "ewTwltbdjCMM", "outputId": "e9957bef-1f21-41d4-db0c-905d798be038" }, "source": [ "fig = plt.figure(figsize=(10,4))\n", "# --- left hand plot\n", "ax = fig.add_subplot(1,3,1)\n", "plt.plot(t,w, '--',color='blue')\n", "#ax.legend(loc='best')\n", "plt.title('Numerical Solution h=%s'%(h))\n", "\n", "ax = fig.add_subplot(1,3,2)\n", "plt.plot(t,y,color='black')\n", "plt.title('Exact Solution ')\n", "\n", "ax = fig.add_subplot(1,3,3)\n", "plt.plot(t,y-w, 'o',color='red')\n", "plt.title('Error')\n", "# --- title, explanatory text and save\n", "fig.suptitle(r\"$y'=t-y, y(0)=%s$\"%(IC), fontsize=20)\n", "plt.tight_layout()\n", "plt.subplots_adjust(top=0.85) " ], "execution_count": null, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ] }, { "cell_type": "code", "metadata": { "id": "FxeEoKU5jCMN" }, "source": [ "" ], "execution_count": null, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "Qx3z306njCMN" }, "source": [ "" ], "execution_count": null, "outputs": [] } ] }